package model

import (
	"time"
)

import (
	_ "github.com/go-sql-driver/mysql"
)

// 1、编写与数据库对应的结构体
type User struct {
	// 主键
	ID uint64 `orm:"column(id);size(20);pk;auto;description(主键)"`
	// 用户唯一标识（密码的盐）
	Uuid string `orm:"unique;column(uuid);size(60);description(用户唯一标识);default:('')"`
	// 用户名
	UserName string `orm:"unique;column(user_name);size(100);description(用户名);default:('')"`
	// 昵称
	NickName string `orm:"column(nick_name);size(100);description(昵称);default:('')"`
	// 手机
	Telephone string `orm:"unique;column(telephone);size(20);description(手机);default:('')"`
	// 地址
	Address string `orm:"column(address);size(20);description(地址);default:('')"`
	// 密码
	Password string `orm:"column(password);size(60);description(密码);default:('')"`
	// 签名
	Sign string `orm:"column(sign);size(200);description(签名);default:('')"`
	// 背景
	BgImg string `orm:"column(bg_img);size(200);description(背景图);default:('')"`
	// 生日
	BirthDay time.Time `orm:"column(birth_day);type(date);description(生日);"`
	// 头像
	Avatar string `orm:"column(avatar);size(400);description(头像);default:('')"`
	// 性别 0女 1男 2 保密
	Male int `orm:"column(male);size(1);description(0女 1男 2 保密);default(1);"`
	// 性别 0女 1男 2 保密
	OpenId string `orm:"column(open_id);size(60);description(微信登录ID);default('');"`
	// 删除状态 0 未删除 1 删除
	IsDelete int `orm:"column(is_delete);size(1);description(0 未删除 1 删除);default(0);"`
	// 激活 0 未激活 1 激活
	Active int `orm:"column(active);size(1);description(0 未激活 1 激活);default(1);"`
	// 是否禁止 0 未禁止 1 禁止
	Forbidden int `orm:"column(forbidden);size(1);description(0 未禁止 1 禁止);default(0);"`
	// 创建时间
	CreateTime time.Time `orm:"column(create_time);auto_now_add;type(datetime);description(创建时间);"`
	// 更新时间
	UpdateTime time.Time `orm:"column(update_time);auto_now;type(datetime);description(更新时间);"`
}

func (u *User) TableName() string {
	return "xk_user"
}
